<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        const obj = {
            name: 'Cavan',
            hobbies: ['pp', 'music'],
        }
        // immutable 了解一下
        Object.freeze(obj) //不可改变
        // Object.freeze() 方法可以冻结一个对象。
        // 一个被冻结的对象再也不能被修改；
        // 冻结了一个对象则不能向这个对象添加新的属性，
        // 不能删除已有属性，不能修改该对象已有属性的可枚举性、可配置性、可写性，以及不能修改已有属性的值。
        // 此外，冻结一个对象后该对象的原型也不能被修改。freeze() 返回和传入的参数相同的对象。
        obj.sex = 'man';
        //obj.hobbies[0]='ymq'
        obj.hobbies.unshift('ymq');
        //数组.unshift 添加元素到头部；.shift 删除头部第一个元素；.push 添加元素到尾部；.pull 删除尾部元素
        console.log(obj);
        // hobbies: (3) ['ymq', 'pp', 'music']
        // name: "Cavan"
    </script>
</body>

</html>